package com.tzq.elastic.util;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.List;

/**
 * Titile Json工具类
 *
 * @author 曾剑锋
 * 解耦（可以灵活更换json技术jar包）
 */
public class JsonUtil {

    /**
     * 将对象转换为json字符串
     *
     * @param obj
     * @return
     */
    public static String toJsonString(Object obj) {
        return JSON.toJSONString(obj);
    }

    /**
     * 将json字符串转换为json对象
     *
     * @param str
     * @return
     */
    public static JSONObject toJsonObject(String str) {
        return JSON.parseObject(str);
    }

    /**
     * 将json字符串转换为简单JavaBean
     *
     * @param str
     * @param t
     * @return
     */
    public static <T> T toSimpleJavaBean(String str, Class<T> t) {
        T res = JSON.parseObject(str, t);
        return res;
    }

    /**
     * 将json字符串转换为JavaBean集合
     *
     * @param str
     * @param t
     * @return
     */
    public static <T> List<T> toJavaBean(String str, Class<T> t) {
        List<T> res = JSONArray.parseArray(str, t);
        return res;
    }


}
